package org.colcon.web.model.framework;

import org.colcon.web.model.framework.ILaw;

public interface IGroup extends IParamItem, ITextItem
{
	public void setText(String text);
	
	// MEMBERS
	public String[] getMembers();
	public boolean hasMember(String id);
	public boolean addMember(String id);
	public boolean removeMember(String id);
	
	// LAWS
	public ILaw[] getLaws();	
	public ILaw getLaw(String id);
	public boolean hasLaw(String id);
	public boolean addLaw(ILaw law);
	public boolean removeLaw(String id);
	
	// TITLES
	public ITitle[] getTitles();
	public ITitle getTitle(String id);
	public boolean hasTitle(String id);
	public boolean addTitle(ITitle title);
	public boolean removeTitle(String id);
	public ITitle getMemberTitle();
	public ITitle getRepresentativeTitle();
	
	// VOTES
	public IVote[] getVotes();
	public IVote getVote(String id);
	public boolean hasVote(String id);	
	public boolean addVote(IVote vote);
	public boolean removeVote(String id);
	
	// PROPOSALS
	public IProposal[] getProposals();
	public IProposal getProposal(String id);
	public boolean hasProposal(String id);
	public boolean addProposal(IProposal proposal);
	public boolean removeProposal(String id);
}
